package be.kuleuven.cs.mop.domain.model.impl;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

/**
 * Memento class for TaskImpl
 * Saves all the necessary fields from a TaskImpl object to be able to restore it to this saved state later
 */
public class MementoTaskImpl {
	private final Set<TaskImpl>				dependencies;
	private final HashMap<String, Field> 	fields;
	private Schedule						schedule;
	
	
	public MementoTaskImpl(Set<TaskImpl> dependencies, HashMap<String, Field> fields, Schedule schedule) {
		
		this.dependencies = new HashSet<TaskImpl>(dependencies);
		this.fields = fields = new HashMap<String, Field>(fields);
		this.schedule = schedule;
	}

	public Set<TaskImpl> getDependencies() {
		return dependencies;
	}

	public HashMap<String, Field> getFields() {
		return fields;
	}

	public Schedule getSchedule() {
		return schedule;
	}
}
